/**
 * Copyright ©2003~2019年5月25日 szkingdom
 * @author raohj
 * @date 2019年5月25日
 * @file RActiveMQProvider.java
 * @comment : please input your comment to this file
 * @version : input version
 * @modify:
 * 		1、 2019年5月25日 由 raohj 新建文件
 */
package com.ccnu.demojava.mq.activemq.p2p;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.jms.*;

/**
 * @author raohj
 * @date 2019年5月25日
 * @version 
 * @comment to add your comment
 */
public class RActiveMQProvider {
	private static final Logger log = LoggerFactory.getLogger(RActiveMQProvider.class);
	public static void main(String[] args) throws Exception{
		
		// 第一步：创建ConnectionFactory连接工厂
		jakarta.jms.ConnectionFactory connFactory = new ActiveMQConnectionFactory(
				ActiveMQConnectionFactory.DEFAULT_USER,
				ActiveMQConnectionFactory.DEFAULT_PASSWORD,
				ActiveMQConnectionFactory.DEFAULT_BROKER_URL);
		
		// 第二步：创建Connection
		jakarta.jms.Connection conn = connFactory.createConnection();
		conn.start();
		
		// 第三步：创建Session
		jakarta.jms.Session session = conn.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
		
		// 第四步：创建Destination
		jakarta.jms.Queue dest = session.createQueue("ActiveMQ_Queue1");
		
		// 第五步：创建MessageProducer
		jakarta.jms.MessageProducer msgProducer = session.createProducer(dest);
		
		// 第六步：设置持久化方式
		msgProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
		
		// 第七步：定义消息对象，并发送
		jakarta.jms.TextMessage textMsg = session.createTextMessage("Hello World by ActiveMQ");
		
		// 第八步：发送消息
		msgProducer.send(textMsg);
		
		// 第九步：释放连接
		conn.close();
		
		log.info("msg send over:" + textMsg.getText());
	}
}
